package com.example.qmapp
import android.content.Intent
import android.content.ContentValues.TAG
import android.nfc.Tag
import android.os.Bundle
import android.util.Log
import android.util.LogPrinter
import android.view.View
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

import okhttp3.*
import java.io.IOException

object GlobalVariables {
    var fetchedData: String? = null
}
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.loginpage)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }
    }

    //登陆
    fun btn_login(view: View){
        val phone: TextView = findViewById(R.id.login_phone)
        val password:TextView = findViewById(R.id.login_password)

        Log.v(TAG, "Phone TextView text: ${phone.text}")
        Log.v(TAG, "password TextView text: ${password.text}")
        // 创建 OkHttpClient 实例
        val client = OkHttpClient()

        // 创建请求体，包含手机号和密码
        val body = FormBody.Builder()
            .add("userName", "${phone.text}") // 使用 !! 来确保非空，但在生产代码中应该避免这样做，使用安全调用或空值处理
            .add("password", "${password.text}")
            .build()

        // 创建请求对象
        val request = Request.Builder()
            .url("https://xiaomaocr.com/review-paper/systemLogin")
            .post(body)
            .build()

        // 发送请求并处理响应
        client.newCall(request).enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) {
                // 请求失败时调用
                Log.e(TAG, "Request failed: ${e.message}")
                // 这里可以处理错误，比如显示一个错误消息
            }

            override fun onResponse(call: Call, response: Response) {
                // 请求成功时调用
                if (response.isSuccessful) {
                    // 处理成功的响应
                    val responseBody = response.body?.string()
//                    Log.d(TAG, "Response: $responseBody")
                    GlobalVariables.fetchedData=responseBody
                    navigateToNewActivity()
                    // 这里可以解析 JSON 响应，比如使用 Gson 或 Moshi
                } else {
                    // 处理不成功的响应（比如服务器返回了错误状态码）
                    Log.e(TAG, "Response not successful: ${response.code}")
                    // 这里可以处理错误，比如显示一个错误消息
                }
            }
        })
    }

    fun navigateToNewActivity() {
        val intent = Intent(this, DetailActivity::class.java)
        // You can add extra data to the intent if needed
        // intent.putExtra("key", "value")
        startActivity(intent)
    }
}
